#include <iostream>
#include <thread>
#include <mutex>

using namespace std;

int num = 20;
mutex m;

void m1() {
	while (num > 0)
	{
		m.lock();
		if (num > 0) {
			num--;
			cout << num << endl;
		}
		m.unlock();
	}
}

void m2() {
	while (num > 0)
	{
		m.lock();
		if (num > 0) {
			num--;
			cout << num << endl;
		}
		m.unlock();
	}
}

//int main(int argc, char *argv[]) {
//	thread tm1(m1);
//	thread tm2(m2);
//	tm1.join();
//	tm2.join();
//	return 0;
//}